System.register(['./metadata'], function (_export) {
'use strict';
var Metadata, DecoratorApplicator;
function _classCallCheck(instance, Constructor) { Iif (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
return {
setters: [function (_metadata) {
Metadata = _metadata.Metadata;
}],
execute: function () {
DecoratorApplicator = (function () {
function DecoratorApplicator() {
_classCallCheck(this, DecoratorApplicator);
this._first = null;
this._second = null;
this._third = null;
this._rest = null;
}
DecoratorApplicator.prototype.decorator = function decorator(_decorator) {
Eif (this._first === null) {
this._first = _decorator;
return this;
}
if (this._second === null) {
this._second = _decorator;
return this;
}
if (this._third === null) {
this._third = _decorator;
return this;
}
if (this._rest === null) {
this._rest = [];
}
this._rest.push(_decorator);
return this;
};
DecoratorApplicator.prototype._decorate = function _decorate(target) {
var i, ii, rest;
Eif (this._first !== null) {
this._first(target);
}
Iif (this._second !== null) {
this._second(target);
}
Iif (this._third !== null) {
this._third(target);
}
rest = this._rest;
Iif (rest !== null) {
for (i = 0, ii = rest.length; i < ii; ++i) {
rest[i](target);
}
}
};
return DecoratorApplicator;
})();
_export('DecoratorApplicator', DecoratorApplicator);
}
};
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9FaXNlbmJlcmdFZmZlY3QvRG9jdW1lbnRzL0dpdEh1Yi9UaGUgRHVyYW5kYWwgUHJvamVjdC9hdXJlbGlhL21ldGFkYXRhL3NyYy9kZWNvcmF0b3ItYXBwbGljYXRvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Z0JBRWEsbUJBQW1COzs7Ozs7MkJBRnhCLFFBQVE7OztBQUVILHlCQUFtQjtBQUNuQixpQkFEQSxtQkFBbUIsR0FDakI7Z0NBREYsbUJBQW1COztBQUU1QixjQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztBQUNuQixjQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztBQUNwQixjQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztBQUNuQixjQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNuQjs7QUFOVSwyQkFBbUIsV0FROUIsU0FBUyxHQUFBLG1CQUFDLFVBQVMsRUFBQztBQUNsQixjQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFDO0FBQ3RCLGdCQUFJLENBQUMsTUFBTSxHQUFHLFVBQVMsQ0FBQztBQUN4QixtQkFBTyxJQUFJLENBQUM7V0FDYjs7QUFFRCxjQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFDO0FBQ3ZCLGdCQUFJLENBQUMsT0FBTyxHQUFHLFVBQVMsQ0FBQztBQUN6QixtQkFBTyxJQUFJLENBQUM7V0FDYjs7QUFFRCxjQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFDO0FBQ3RCLGdCQUFJLENBQUMsTUFBTSxHQUFHLFVBQVMsQ0FBQztBQUN4QixtQkFBTyxJQUFJLENBQUM7V0FDYjs7QUFFRCxjQUFHLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxFQUFDO0FBQ3JCLGdCQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztXQUNqQjs7QUFFRCxjQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFTLENBQUMsQ0FBQzs7QUFFM0IsaUJBQU8sSUFBSSxDQUFDO1NBQ2I7O0FBL0JVLDJCQUFtQixXQWlDOUIsU0FBUyxHQUFBLG1CQUFDLE1BQU0sRUFBQztBQUNmLGNBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUM7O0FBRWhCLGNBQUcsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUM7QUFDdEIsZ0JBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7V0FDckI7O0FBRUQsY0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksRUFBQztBQUN2QixnQkFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztXQUN0Qjs7QUFFRCxjQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFDO0FBQ3RCLGdCQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1dBQ3JCOztBQUVELGNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ2xCLGNBQUcsSUFBSSxLQUFLLElBQUksRUFBQztBQUNmLGlCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBQztBQUN2QyxrQkFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2pCO1dBQ0Y7U0FDRjs7ZUF0RFUsbUJBQW1COzs7cUNBQW5CLG1CQUFtQiIsImZpbGUiOiIvVXNlcnMvRWlzZW5iZXJnRWZmZWN0L0RvY3VtZW50cy9HaXRIdWIvVGhlIER1cmFuZGFsIFByb2plY3QvYXVyZWxpYS9tZXRhZGF0YS9zcmMvZGVjb3JhdG9yLWFwcGxpY2F0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01ldGFkYXRhfSBmcm9tICcuL21ldGFkYXRhJztcblxuZXhwb3J0IGNsYXNzIERlY29yYXRvckFwcGxpY2F0b3Ige1xuICBjb25zdHJ1Y3Rvcigpe1xuICAgIHRoaXMuX2ZpcnN0ID0gbnVsbDtcbiAgICB0aGlzLl9zZWNvbmQgPSBudWxsO1xuICAgIHRoaXMuX3RoaXJkID0gbnVsbDtcbiAgICB0aGlzLl9yZXN0ID0gbnVsbDtcbiAgfVxuXG4gIGRlY29yYXRvcihkZWNvcmF0b3Ipe1xuICAgIGlmKHRoaXMuX2ZpcnN0ID09PSBudWxsKXtcbiAgICAgIHRoaXMuX2ZpcnN0ID0gZGVjb3JhdG9yO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgaWYodGhpcy5fc2Vjb25kID09PSBudWxsKXtcbiAgICAgIHRoaXMuX3NlY29uZCA9IGRlY29yYXRvcjtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGlmKHRoaXMuX3RoaXJkID09PSBudWxsKXtcbiAgICAgIHRoaXMuX3RoaXJkID0gZGVjb3JhdG9yO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgaWYodGhpcy5fcmVzdCA9PT0gbnVsbCl7XG4gICAgICB0aGlzLl9yZXN0ID0gW107XG4gICAgfVxuXG4gICAgdGhpcy5fcmVzdC5wdXNoKGRlY29yYXRvcik7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIF9kZWNvcmF0ZSh0YXJnZXQpe1xuICAgIHZhciBpLCBpaSwgcmVzdDtcblxuICAgIGlmKHRoaXMuX2ZpcnN0ICE9PSBudWxsKXtcbiAgICAgIHRoaXMuX2ZpcnN0KHRhcmdldCk7XG4gICAgfVxuXG4gICAgaWYodGhpcy5fc2Vjb25kICE9PSBudWxsKXtcbiAgICAgIHRoaXMuX3NlY29uZCh0YXJnZXQpO1xuICAgIH1cblxuICAgIGlmKHRoaXMuX3RoaXJkICE9PSBudWxsKXtcbiAgICAgIHRoaXMuX3RoaXJkKHRhcmdldCk7XG4gICAgfVxuXG4gICAgcmVzdCA9IHRoaXMuX3Jlc3Q7XG4gICAgaWYocmVzdCAhPT0gbnVsbCl7XG4gICAgICBmb3IoaSA9IDAsIGlpID0gcmVzdC5sZW5ndGg7IGkgPCBpaTsgKytpKXtcbiAgICAgICAgcmVzdFtpXSh0YXJnZXQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19 |